package com.hzz.dto.river;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.dto.BaseDto;

import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("水库名录 DTO")
public class ReservoirInfoDto extends BaseDto {
    /** id */
    Long id;
    /** 水库编号 */
	@NotNull(message="code不能为空")@Size(max=55,message="code最大55字符")
    String code;
    /** 水库名称 */
	@NotNull(message="name不能为空")@Size(max=55,message="name最大55字符")
    String name;
    /** 库长ID */
	@NotNull(message="principalId不能为空")
    String principalId;
    /** 库长姓名 */
	// @NotNull(message="principalName不能为空")@Size(max=128,message="principalName最大128字符")
    String principalName;
    /** 水库起点 */
	@Size(max=128,message="startAddr最大128字符")
    String startAddr;
    /** 水库终点 */
	@Size(max=128,message="endAddr最大128字符")
    String endAddr;
    /** 所在经度 */
	@NotNull(message="longitude不能为空")@Size(max=32,message="longitude最大32字符")
    String longitude;
    /** 所在纬度 */
	@NotNull(message="latitude不能为空")@Size(max=32,message="latitude最大32字符")
    String latitude;
    /** 库容（万方） */
	@NotNull(message="capacity不能为空")
    BigDecimal capacity;
    /** 河流等级 */
	@Size(max=55,message="riverGrade最大55字符")
    String riverGrade;
    /** 行政区域ID,多个之间用逗号分隔 */
	@Size(max=128,message="areaIds最大128字符")
    String areaIds;
    /** 行政区域名称，多个之间用逗号分隔 */
	@Size(max=128,message="areaNames最大128字符")
    String areaNames;
    /** 备注 */
	@Size(max=255,message="memo最大255字符")
    String memo;
    /** 删除标记 */
    Integer delFlag;
    /** 建立者id */
    Long createId;
    /** 更新时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateUpdated;
    /** 创建时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateCreated;

}
